这个程序有什么问题?[用java比较两个字符串]

来源:百度知道 编辑:UC知道 时间:2024/05/09 02:14:46
class Student
{
String name;
int age;

boolean equals(Object obj)
{
Student st=null;
if(obj instanceof Student)
st = (Student)obj;
else
return false;
if(st.name==this.name && st.age==this.age)
return true;
else
return false;
}
public static void main(String [] args)
{
Student p=new Student();
Student q=new Student();
p.name="xyz";
p.age=13;
q.name="xyz";
q.age=13;
if(p.equals(q))
System.out.println("p 与 q 相等");
else
System.out.println("p 与 q 不等");

}
}

boolean equals(Object obj)这句会出错.
应该为:
public boolean equals(Object obj)
java默认的访问权限是不允许对象访问的,所以你必须声明它为public,且此方法为Object方法的复盖,你不能降低它的可视性.